itk_module_test()
set(
  ITKThresholdingTests
  itkBinaryThresholdImageFilterTest2.cxx
  itkBinaryThresholdImageFilterTest.cxx
  itkBinaryThresholdProjectionImageFilterTest.cxx
  itkBinaryThresholdSpatialFunctionTest.cxx
  itkHuangThresholdImageFilterTest.cxx
  itkIntermodesThresholdImageFilterTest.cxx
  itkIsoDataThresholdImageFilterTest.cxx
  itkKittlerIllingworthThresholdImageFilterTest.cxx
  itkLiThresholdImageFilterTest.cxx
  itkMaximumEntropyThresholdImageFilterTest.cxx
  itkMomentsThresholdImageFilterTest.cxx
  itkOtsuMultipleThresholdsCalculatorTest.cxx
  itkOtsuMultipleThresholdsCalculatorTest2.cxx
  itkOtsuMultipleThresholdsImageFilterTest.cxx
  #itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest.cxx
  itkOtsuThresholdCalculatorTest.cxx
  itkOtsuThresholdImageFilterTest.cxx
  itkRenyiEntropyThresholdImageFilterTest.cxx
  itkShanbhagThresholdImageFilterTest.cxx
  itkThresholdImageFilterTest.cxx
  itkThresholdLabelerImageFilterTest.cxx
  itkTriangleThresholdImageFilterTest.cxx
  itkYenThresholdImageFilterTest.cxx
  itkHuangMaskedThresholdImageFilterTest.cxx
  itkIntermodesMaskedThresholdImageFilterTest.cxx
  itkIsoDataMaskedThresholdImageFilterTest.cxx
  itkKittlerIllingworthMaskedThresholdImageFilterTest.cxx
  itkLiMaskedThresholdImageFilterTest.cxx
  itkMaximumEntropyMaskedThresholdImageFilterTest.cxx
  itkMomentsMaskedThresholdImageFilterTest.cxx
  itkOtsuMaskedThresholdImageFilterTest.cxx
  itkRenyiEntropyMaskedThresholdImageFilterTest.cxx
  itkShanbhagMaskedThresholdImageFilterTest.cxx
  itkTriangleMaskedThresholdImageFilterTest.cxx
  itkYenMaskedThresholdImageFilterTest.cxx
  itkKappaSigmaThresholdImageCalculatorTest.cxx
  itkKappaSigmaThresholdImageFilterTest.cxx
)

createtestdriver(ITKThresholding "${ITKThresholding-Test_LIBRARIES}" "${ITKThresholdingTests}")

itk_add_test(
  NAME
  itkOtsuThresholdCalculatorTest
  COMMAND
  ITKThresholdingTestDriver
  itkOtsuThresholdCalculatorTest
)

itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/peppers.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest.png
  64
  3
  2
  0
  1
)

itk_add_test(
  NAME
  itkThresholdLabelerImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  itkThresholdLabelerImageFilterTest
)
itk_add_test(
  NAME
  itkBinaryThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  itkBinaryThresholdImageFilterTest
)
itk_add_test(
  NAME
  itkThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  itkThresholdImageFilterTest
)
itk_add_test(
  NAME
  itkOtsuMultipleThresholdsCalculatorTest1
  COMMAND
  ITKThresholdingTestDriver
  itkOtsuMultipleThresholdsCalculatorTest
  0
  0
)
itk_add_test(
  NAME
  itkOtsuMultipleThresholdsCalculatorTest2
  COMMAND
  ITKThresholdingTestDriver
  itkOtsuMultipleThresholdsCalculatorTest
  1
  0
)
itk_add_test(
  NAME
  itkBinaryThresholdImageFilterTest2
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/BinaryThresholdImageFilterTest2.png}
  ${ITK_TEST_OUTPUT_DIR}/BinaryThresholdImageFilterTest2.png
  itkBinaryThresholdImageFilterTest2
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/DicomSeries/Image0076.dcm}
  ${ITK_TEST_OUTPUT_DIR}/BinaryThresholdImageFilterTest2.png
)
itk_add_test(
  NAME
  itkBinaryThresholdProjectionImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/HeadMRVolumeBinaryThresholdProjection.png}
  ${ITK_TEST_OUTPUT_DIR}/HeadMRVolumeBinaryThresholdProjection.png
  itkBinaryThresholdProjectionImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/HeadMRVolume.mhd,HeadMRVolume.raw}
  ${ITK_TEST_OUTPUT_DIR}/HeadMRVolumeBinaryThresholdProjection.png
  100
  255
  0
)
itk_add_test(
  NAME
  itkBinaryThresholdSpatialFunctionTest
  COMMAND
  ITKThresholdingTestDriver
  itkBinaryThresholdSpatialFunctionTest
)

itk_add_test(
  NAME
  itkHuangThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkHuangThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTest.png
  itkHuangThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTest.png
  256
  1
  19
)
itk_add_test(
  NAME
  itkHuangThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkHuangThresholdImageFilterTestNoAutoMinMax.png}
  fdcefb74090f63114d811e92f0f5836b
  itkHuangThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkHuangMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkHuangMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangMaskedThresholdImageFilterTest.png
  itkHuangMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangMaskedThresholdImageFilterTest.png
  1
  255
  239
)

itk_add_test(
  NAME
  itkIntermodesThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIntermodesThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTest.png
  itkIntermodesThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTest.png
  256
  1
  1000
  1
  76
)
itk_add_test(
  NAME
  itkIntermodesThresholdImageFilterTestNoInterMode
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkIntermodesThresholdImageFilterTestNoInterMode.png}
  eed45f177050894e50ec1be5bc6bd4fa
  itkIntermodesThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestNoInterMode.png
  32
  1
  2000
  0
  75
)
#itk_add_test(NAME itkIntermodesThresholdImageFilterTestNoAutoMinMax
#      COMMAND ITKThresholdingTestDriver
#    --compare-MD5 DATA{Baseline/itkIntermodesThresholdImageFilterTestNoAutoMinMax.png}
#              eed45f177050894e50ec1be5bc6bd4fa
#    itkIntermodesThresholdImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestNoAutoMinMax.png 32 0 400000 0 19)

itk_add_test(
  NAME
  itkIntermodesMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIntermodesMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesMaskedThresholdImageFilterTest.png
  itkIntermodesMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesMaskedThresholdImageFilterTest.png
  1
  255
  1000
  1
  97
)

itk_add_test(
  NAME
  itkIsoDataThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIsoDataThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTest.png
  itkIsoDataThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTest.png
  256
  1
  85
)
itk_add_test(
  NAME
  itkIsoDataThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkIsoDataThresholdImageFilterTestNoAutoMinMax.png}
  9f844fd120ff49a7812e329a1b0216d8
  itkIsoDataThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  1023
)

itk_add_test(
  NAME
  itkIsoDataMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIsoDataMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataMaskedThresholdImageFilterTest.png
  itkIsoDataMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataMaskedThresholdImageFilterTest.png
  1
  255
  114
)

itk_add_test(
  NAME
  itkKittlerIllingworthThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTest.png
  itkKittlerIllingworthThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTest.png
  256
  1
  32
)
itk_add_test(
  NAME
  itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax.png}
  ecb99e6ffea7be1e5419350f725da86b
  itkKittlerIllingworthThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  1023
)

itk_add_test(
  NAME
  itkKittlerIllingworthMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkKittlerIllingworthMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthMaskedThresholdImageFilterTest.png
  itkKittlerIllingworthMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthMaskedThresholdImageFilterTest.png
  1
  255
  254
)

itk_add_test(
  NAME
  itkLiThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkLiThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTest.png
  itkLiThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTest.png
  256
  1
  54
)
itk_add_test(
  NAME
  itkLiThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkLiThresholdImageFilterTestNoAutoMinMax.png}
  ecb99e6ffea7be1e5419350f725da86b
  itkLiThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  1023
)

itk_add_test(
  NAME
  itkLiMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkLiMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiMaskedThresholdImageFilterTest.png
  itkLiMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiMaskedThresholdImageFilterTest.png
  1
  255
  177
)

itk_add_test(
  NAME
  itkMaximumEntropyThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMaximumEntropyThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTest.png
  itkMaximumEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTest.png
  256
  1
  140
)
itk_add_test(
  NAME
  itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png
  itkMaximumEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkMaximumEntropyMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMaximumEntropyMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyMaskedThresholdImageFilterTest.png
  itkMaximumEntropyMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyMaskedThresholdImageFilterTest.png
  1
  255
  118
)

itk_add_test(
  NAME
  itkMomentsThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMomentsThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTest.png
  itkMomentsThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTest.png
  256
  1
  133
)
itk_add_test(
  NAME
  itkMomentsThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMomentsThresholdImageFilterTestNoAutoMinMax.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestNoAutoMinMax.png
  itkMomentsThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkMomentsMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMomentsMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsMaskedThresholdImageFilterTest.png
  itkMomentsMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsMaskedThresholdImageFilterTest.png
  1
  255
  139
)

itk_add_test(
  NAME
  itkOtsuThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTest.png
  itkOtsuThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTest.png
  256
  1
  84
  0
)
itk_add_test(
  NAME
  itkOtsuThresholdImageFilterTestFlipInsideOut
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkOtsuThresholdImageFilterTestFlipInsideOut.png}
  70f6b53f769782d0176c28b206d401d3
  itkOtsuThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestFlipInsideOut.png
  256
  1
  84
  1
)
itk_add_test(
  NAME
  itkOtsuThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuThresholdImageFilterTestNoAutoMinMax.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestNoAutoMinMax.png
  itkOtsuThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -30720
  0
)

# With one threshold, the OtsuMultipleThresholdsImageFilter should give the same result as the OtsuThresholdImageFilter.
# Therefore, in this test, we compare the output to the output of the OtsuThresholdImageFilter.
# We set the number of histogram bins to 256 because that is the default for the OtsuThresholdImageFilter.
itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest2
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest2.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest2.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest2.png
  256
  1
  0
)

# Test the algorithm on an image with a small dark region.
itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest3
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest3.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest3.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/DotOnVaryingBackground.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest3.png
  64
  1
  2
  0
  1
)

# Test the valley emphasis algorithm on an image with a small dark region.
itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest4
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest4.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest4.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/DotOnVaryingBackground.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest4.png
  64
  1
  2
  1
)

itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest5
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest5.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest5.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{Input/image_3modes.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest5.png
  128
  2
  0
)

itk_add_test(
  NAME
  itkOtsuMultipleThresholdsImageFilterTest6
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest5.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest6.png
  itkOtsuMultipleThresholdsImageFilterTest
  DATA{Input/image_3modes.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest6.png
  128
  2
  0
  0
  1
)
set_tests_properties(
  itkOtsuMultipleThresholdsImageFilterTest6
  PROPERTIES
    WILL_FAIL
      TRUE
)

#itk_add_test(NAME itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest
#      COMMAND ITKThresholdingTestDriver
#      itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})

itk_add_test(
  NAME
  itkOtsuMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMaskedThresholdImageFilterTest.png
  itkOtsuMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuMaskedThresholdImageFilterTest.png
  1
  255
  184
)

itk_add_test(
  NAME
  itkRenyiEntropyThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkRenyiEntropyThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTest.png
  itkRenyiEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTest.png
  256
  1
  51
)
itk_add_test(
  NAME
  itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax.png}
  d5caadf6ba3cc5177eaa04e831fd0738
  itkRenyiEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkRenyiEntropyMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkRenyiEntropyMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyMaskedThresholdImageFilterTest.png
  itkRenyiEntropyMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyMaskedThresholdImageFilterTest.png
  1
  255
  118
)

itk_add_test(
  NAME
  itkShanbhagThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkShanbhagThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTest.png
  itkShanbhagThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTest.png
  256
  1
  133
)
itk_add_test(
  NAME
  itkShanbhagThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png
  itkShanbhagThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkShanbhagMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkShanbhagMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagMaskedThresholdImageFilterTest.png
  itkShanbhagMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagMaskedThresholdImageFilterTest.png
  1
  255
  55
)

itk_add_test(
  NAME
  itkTriangleThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkTriangleThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTest.png
  itkTriangleThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTest.png
  256
  1
  2
)
itk_add_test(
  NAME
  itkTriangleThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkTriangleThresholdImageFilterTestNoAutoMinMax.png}
  ecb99e6ffea7be1e5419350f725da86b
  itkTriangleThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  3071
)

itk_add_test(
  NAME
  itkTriangleMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkTriangleMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleMaskedThresholdImageFilterTest.png
  itkTriangleMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleMaskedThresholdImageFilterTest.png
  1
  255
  254
)

itk_add_test(
  NAME
  itkYenThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkYenThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTest.png
  itkYenThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTest.png
  256
  1
  26
)
itk_add_test(
  NAME
  itkYenThresholdImageFilterTestNoAutoMinMax
  COMMAND
  ITKThresholdingTestDriver
  --compare-MD5
  DATA{Baseline/itkYenThresholdImageFilterTestNoAutoMinMax.png}
  fcd6bcb56c1689fcef28b57c22475bad
  itkYenThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestNoAutoMinMax.png
  32
  0
  -31744
)

itk_add_test(
  NAME
  itkYenMaskedThresholdImageFilterTest
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkYenMaskedThresholdImageFilterTest.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenMaskedThresholdImageFilterTest.png
  itkYenMaskedThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
  DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenMaskedThresholdImageFilterTest.png
  1
  255
  118
)

itk_add_test(
  NAME
  itkHuangThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkHuangThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestShort.png
  itkHuangThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestShort.png
  256
  1
  30771
)

itk_add_test(
  NAME
  itkIntermodesThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIntermodesThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestShort.png
  itkIntermodesThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestShort.png
  256
  1
  1000
  1
  14251
)

itk_add_test(
  NAME
  itkIsoDataThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkIsoDataThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestShort.png
  itkIsoDataThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestShort.png
  256
  1
  15044
)

itk_add_test(
  NAME
  itkKittlerIllingworthThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestShort.png
  itkKittlerIllingworthThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestShort.png
  256
  1
  31168
)

itk_add_test(
  NAME
  itkLiThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkLiThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestShort.png
  itkLiThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestShort.png
  256
  1
  26939
)

itk_add_test(
  NAME
  itkMaximumEntropyThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMaximumEntropyThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestShort.png
  itkMaximumEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestShort.png
  256
  1
  22181
)

itk_add_test(
  NAME
  itkMomentsThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkMomentsThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestShort.png
  itkMomentsThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestShort.png
  256
  1
  23238
)

itk_add_test(
  NAME
  itkOtsuThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkOtsuThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestShort.png
  itkOtsuThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestShort.png
  256
  1
  14516
  1
)

itk_add_test(
  NAME
  itkRenyiEntropyThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkRenyiEntropyThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestShort.png
  itkRenyiEntropyThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestShort.png
  256
  1
  22181
)

itk_add_test(
  NAME
  itkShanbhagThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkShanbhagThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestShort.png
  itkShanbhagThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestShort.png
  256
  1
  28921
)

itk_add_test(
  NAME
  itkTriangleThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkTriangleThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestShort.png
  itkTriangleThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestShort.png
  256
  1
  22313
)

itk_add_test(
  NAME
  itkYenThresholdImageFilterTestShort
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkYenThresholdImageFilterTestShort.png}
  ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestShort.png
  itkYenThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
  ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestShort.png
  256
  1
  22181
)

itk_add_test(
  NAME
  itkKappaSigmaThresholdImageCalculatorTest01
  COMMAND
  ITKThresholdingTestDriver
  itkKappaSigmaThresholdImageCalculatorTest
  DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence1.png}
  255
  3.5
  10
  229
)

itk_add_test(
  NAME
  itkKappaSigmaThresholdImageCalculatorTest02
  COMMAND
  ITKThresholdingTestDriver
  itkKappaSigmaThresholdImageCalculatorTest
  DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence2.png}
  255
  3.0
  10
  361
)

itk_add_test(
  NAME
  itkKappaSigmaThresholdImageFilterTest01
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkKappaSigmaThresholdImageFilterTest01.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest01.png
  itkKappaSigmaThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence1.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest01.png
  255
  3.5
  2
  69
)

itk_add_test(
  NAME
  itkKappaSigmaThresholdImageFilterTest02
  COMMAND
  ITKThresholdingTestDriver
  --compare
  DATA{Baseline/itkKappaSigmaThresholdImageFilterTest02.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest02.png
  itkKappaSigmaThresholdImageFilterTest
  DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence2.png}
  ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest02.png
  255
  3.0
  2
  92
)
